<@override name="content">
<div class="page">

  <div class="bg">
    <div class="box">
      <div class="faq">
        <div class="faq_title">
          <img width="32" height="32" alt="search" src="assets/images/search.gif"/>
          <b> Frequently Asked Questions</b>
        </div>
        <div class="faq_content">
          <a id="io"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：我的程序要在哪里输入和输出数据？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：你的程序必须从stdin（标准输入）读入数据并且从stdout（标准输出）输出数据. <br>
            例如，如果你使用C语言，使用<code>scanf</code>读入数据，使用<code>printf</code>输出数据; <br>
            如果是C++语言，还可以使用<code>cin</code>和<code>cout</code>读入输出数据。
            <p class="text-info">为了性能，建议C++程序也使用<code>scanf</code>和<code>printf</code>，需要<code>#include
              &lt;cstdio></code>。</p>
            <p class="text-warning">注意：不要在程序中输出任何题目未要求的提示信息。</p>
          </div>

          <a id="multi-io"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：当有多组测试数据时,该如何判断循环结束呢?
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：c语言: 可以用 <code>while (scanf("%d", &n) != EOF) {...}</code> <br>
            c++语言: 可以用 <code>while (cin >> n) {...}</code>
          </div>
          <a id="compiler"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：本OnlineJudge提供哪些编译器？编译环境是怎么样的？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：本OJ目前提供GNU C/C++、Free Pascal、Java等编译器，它们的编译参数是：<br>
            GCC: <code>gcc -fno-asm -lm -static -Wall -std=c11 -O2 -DONLINE_JUDGE -o Main Main.c</code><br>
            G++: <code>g++ -fno-asm -lm -static -Wall -std=c++11 -O2 -DONLINE_JUDGE -o Main Main.cc</code><br>
            Pascal: <code>fpc Main.pas -O2 -Co -Cr -Ct -Ci</code><br>
            Java: <code>javac Main.java -g:none -Xlint -encoding UTF-8</code><br>
            Python: <code>python -c "import py_compile; py_compile.compile(r'Main.py')"</code>
            <br>
            运行参数：<br>
            Java: <code>java -cp . -Djava.security.manager -DONLINE_JUDGE=true Main</code><br>
            Python: <code>python Main.py</code>
            <br>
            <br> 我们的服务器运行在Linux平台下，提供的编译器的版本分别是：<br>
            <ul>
              <#include "compilers.ftl">
            </ul>
          </div>

          <a id="ce"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：为什么我得到了CE？而在我的电脑上运行的很好？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：不同的编译器之间有一些语法的差异，请使用相应的编译器进行提交。<br>
            另外，我们的OJ对编译器所使用的资源有所限制，限制是：
            CPU时间<strong> 5 s</strong>，内存<strong> 1024 MB</strong>，输出<strong> 64 MB</strong>。<br>
            如果你使用的编译器在编译你的程序时超过这个资源限制，将被判为CE。<br>
            <p class="text-warning">当你使用G++、GCC时<code>main()</code>函数返回值必须是<code>int</code>，否则你可能会得到CE。</p>
          </div>

          <a id="spj"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：有些题目上面有<span class="badge badge-important">SPJ</span>是什么意思？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：SPJ(Special Judged)是指本题可能有多个正确的解。你的程序输出的答案将被一个SPJ的程序检测，以判断你的程序是否正确。<br/>
            <p class="text-warning">请注意：SPJ的题目一般不会判出PE，所以请确保你的程序输出格式正确。</p>
          </div>

          <a id="int64"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：我要怎么使用64位整数？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：Python中整数是无限精度的。Java使用long类型。<br>
            在C/C++和Pascal语言中，你可以用以下方法使用64位整数：
            <ul>
              <li>有符号64位整数，取值范围为：-9223372036854775808 到 9223372036854775807。
                <table class="table table-bordered">
                  <tr class="center">
                    <td>编译器</td>
                    <td>GCC/G++</td>
                    <td>Pascal</td>
                    <td>VC/VC++</td>
                  </tr>
                  <tr class="center">
                    <td>类型名称</td>
                    <td>long long</td>
                    <td>int64</td>
                    <td>__int64(非标准)<br>long long
                    </td>
                  </tr>
                  <tr class="center">
                    <td>输入方法</td>
                    <td>scanf("%lld", &amp;x);<br>cin >> x;
                    </td>
                    <td>read(x);</td>
                    <td>scanf("%lld", &amp;x);<br>cin >> x;
                    </td>
                  </tr>
                  <tr class="center">
                    <td>输出方法</td>
                    <td>printf("%lld", x);<br>cout &lt;&lt; x;
                    </td>
                    <td>write(x);</td>
                    <td>printf("%lld", x);<br>cout &lt;&lt; x;
                    </td>
                  </tr>
                </table>
              </li>
              <li>无符号64位整数，取值范围为：0 到 18446744073709551615。
                <table class="table table-bordered">
                  <tr class="center">
                    <td>编译器</td>
                    <td>GCC/G++</td>
                    <td>Pascal</td>
                    <td>VC/VC++</td>
                  </tr>
                  <tr class="center">
                    <td>类型名称</td>
                    <td>unsigned long long</td>
                    <td>qword</td>
                    <td>unsigned __int64(非标准)<br>unsigned long long
                    </td>
                  </tr>
                  <tr class="center">
                    <td>输入方法</td>
                    <td>scanf("%llu", &x);<br>cin >> x;
                    </td>
                    <td>read(x);</td>
                    <td>scanf("%llu", &x);<br>cin >> x;
                    </td>
                  </tr>
                  <tr class="center">
                    <td>输出方法</td>
                    <td>printf("%llu", x);<br>cout &lt;&lt; x;
                    </td>
                    <td>write(x);</td>
                    <td>printf("%llu", x);<br>cout &lt;&lt; x;
                    </td>
                  </tr>
                </table>
              </li>
            </ul>
            <p class="text-warning">请注意：GCC/G++不能使用__int64。</p>
          </div>

          <a id="result"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：OJ返回的结果分别是什么意思？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：以下是OJ可能返回的结果和其意义：<br>
            <dl class="dl-horizontal">
              <dt id="AC">Accepted</dt>
              <dd>你的程序产生的输出与参考输出完全一样，但不保证算法是完全正确的。</dd>
              <dt id="PE">Presentation Error</dt>
              <dd>你的输出结果是正确的，但格式不正确，可能是你多输出或少输出了空格、Tab(\t)、换行(\n)等，请检查你的程序输出。</dd>
              <dt id="WA">Wrong Answer</dt>
              <dd>你的程序输出的结果不正确。</dd>
              <dt id="TLE">Time Limit Exceed</dt>
              <dd>你的程序尝试使用超过题目限制的时间，可能是你的程序内存在死循环或者你的程序的算法效率太低。</dd>
              <dt id="MLE">Memory Limit Exceed</dt>
              <dd>你的程序尝试使用超过题目限制的内存。</dd>
              <dt id="OLE">Output Limit Exceed</dt>
              <dd>你的程序的输出超过了限制。请检查你的程序是否存在死循环问题。</dd>
              <dt id="RE">Runtime Error</dt>
              <dd>你的程序发生了运行时错误。可能是由于除0、内存访问违规等运行时问题。</dd>
              <dt id="CE">Compile Error</dt>
              <dd>你的程序不能通过编译，请点击该结果可以查看编译器提示。</dd>
              <dt id="RF">Restricted Function</dt>
              <dd>使用了受限制的系统调用，比如system()函数是禁止使用的。</dd>
              <dt id="WAIT">Waiting</dt>
              <dd>OJ正在评测其它用户的提交，请你稍等片刻。</dd>
              <dt id="REJUDGR">Rejuding</dt>
              <dd>你的程序正在准备重新评测，请稍候。</dd>
              <dt id="RUN">Running</dt>
              <dd>你的程序正在评测当中，请稍候。</dd>
              <dt id="SE">System Error</dt>
              <dd>未知错误，如果有该评测结果，请及时联系管理员。</dd>
              <dt id="VE">Validator Error</dt>
              <dd>SPJ错误，如果有该评测结果，请及时联系管理员。</dd>
            </dl>
            <p class="text-warning">注意：对于Java语言，有极少部分可能将RF或RE误判成WA。</p>
          </div>

          <a id="key"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：我提交代码时能使用快捷键吗？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>： 下面是提交页面的快捷键:
            <dl class="dl-horizontal">
              <dt>ALT+L</dt>
              <dd>语言（编译器）选项</dd>
              <dt>ALT+C</dt>
              <dd>定位到代码编辑器</dd>
              <dt>ALT+H</dt>
              <dd>切换代码编辑器</dd>
              <dt>ALT+S</dt>
              <dd>提交代码</dd>
            </dl>
            <p class="text-info">大部分列表(题目列表、用户列表、比赛列表等)及题目页面，可以使用快捷键&larr;和&rarr;。</p>
          </div>

          <a id="sample"></a>
          <div class="faq_content_Q">
            <span class="Q">Q</span>：1000题A+B怎么解答？
          </div>
          <div class="faq_content_A">
            <span class="A">A</span>：以下是1000题的各种语言的参考程序：<br>
            C语言：<br>
            <div class="data">
              <textarea class="brush: c">
              #include &lt;stdio.h&gt;

              int main()
              {
                int a, b;
                while (scanf("%d%d", &a, &b) != EOF)
                {
                  printf("%d\n", a+b);
                }
                return 0;
              }
              </textarea>
            </div>
            C++语言:<br>
            <div class="data">
              <textarea class="brush: cpp">
              #include &lt;iostream&gt;
              using namespace std;

              int main()
              {
                int a, b;
                while (cin &gt;&gt; a &gt;&gt; b)
                {
                  cout &lt;&lt; a+b &lt;&lt; endl;
                }
                return 0;
              }
              </textarea>
            </div>
            <a href="http://www.freepascal.org/docs-html/ref/ref.html" target="_blank">PASCAL</a>语言：
            <div class="data">
              <textarea class="brush: delphi">
              var
                a,b:integer;
              begin
                while not eof do begin
                  readln(a,b);
                  writeln(a+b);
                end;
              end.
              </textarea>
            </div>
            <a href="http://docs.oracle.com/javase/8/docs/api/" target="_blank">Java</a>语言：
            <div class="data">
              <textarea class="brush: java">
              import java.io.*;
              import java.util.*;

              public class Main
              {
                public static void main(String[] args)
                {
                  Scanner cin = new Scanner(new BufferedInputStream(System.in));
                  int a, b;
                  while (cin.hasNext())
                  {
                    a = cin.nextInt();
                    b = cin.nextInt();
                    System.out.println(a+b);
                  }
                }
              }
              </textarea>
            </div>
            <a href="http://docs.python.org/2/tutorial/" target="_blank">Python</a>语言：
            <div class="data">
              <textarea class="brush: python">
              import sys

              for s in sys.stdin:
                a = [int(i) for i in s.split()]
                print a[0] + a[1]
              </textarea>
            </div>
            <br>
          </div>
          <h3 id="tips-for-java-usage">Tips for Java usage</h3>
          <ol>
            <li>Your solution must contains <strong><em>ONLY ONE</em> public</strong> Java class<del>, and make sure name it
              <code>Main</code>(case-sensitive) and make it <code>public</code></del>.
            </li>
            <li>There must be a <code>public</code> and <code>static</code> <code>main</code> method with
              <code>void</code> returning type in <del><code>Main</code></del> class.
            </li>
            <li>Note that in problem description, time limit and memory limit of Java may be different with C/C++.</li>
            <li><del>MUST use default package, aka do not place package name!</del></li>
          </ol>
        </div>
      </div>
    </div>
  </div>
  <!-- bg -->

</div>
<!-- center -->
</@override>

<@override name="scripts">
<link href="assets/syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css">
<link href="assets/syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css">
<script src='assets/syntaxhighlighter/scripts/shCore.js' type='text/javascript'></script>
<script src='assets/syntaxhighlighter/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='assets/syntaxhighlighter/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='assets/syntaxhighlighter/scripts/shBrushDelphi.js' type='text/javascript'></script>
<script src='assets/syntaxhighlighter/scripts/shBrushPython.js' type='text/javascript'></script>
<script type='text/javascript'>SyntaxHighlighter.config.tagName = 'textarea';
SyntaxHighlighter.all();</script>
</@override>
<@extends name="../common/_layout.html" />
